package 纯字符串;

/**
 * @description:
 * @author: 小白白
 * @create: 2021-09-30
 **/

public class No172阶乘后的零 {

    /**
     * 给定一个整数 n ，返回 n! 结果中尾随零的数量。
     * 提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1
     *
     * 示例 1：
     * 输入：n = 3
     * 输出：0
     * 解释：3! = 6 ，不含尾随 0
     * 示例 2：
     * 输入：n = 5
     * 输出：1
     * 解释：5! = 120 ，有一个尾随 0
     * 示例 3：
     * 输入：n = 0
     * 输出：0
     *  
     * 提示：
     * 0 <= n <= 104
     * 进阶：你可以设计并实现对数时间复杂度的算法来解决此问题吗？
     */

    public int trailingZeroes(int n) {

        int count = 0;
        while (n > 0) {
            n /= 5;
            count += n;
        }

        return count;
    }

    public static void main(String[] args) {
        No172阶乘后的零 n = new No172阶乘后的零();
        int result = n.trailingZeroes(5);
        System.out.println(result);
    }

}
